/**
 * Interfície que mostra els mètodes del servidor
 * Definirem tots els mètodes de negoci del subsistema d'informes
 * @author Grup TDP 1X4J
 */
package edu.uoc.tdp.common;

import edu.uoc.tdp.beans.informes.Universitat;
import edu.uoc.tdp.beans.proves.Prova;
import java.math.BigDecimal;
import java.rmi.RemoteException;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;

public interface RemotInformesInterface extends java.rmi.Remote {
    

    public List<Prova> getProvesTancades()throws RemoteException, EOlympicsException;
    
    public List<Prova> getMevesProves(Integer idEstudiant)throws RemoteException, EOlympicsException;
    
    public ArrayList<HashMap> consultarProves(String idUniversitat, Integer idProva, Date dinscripcio_ini, 
            Date dinscripcio_fi, Date drealitacio_ini, Date drealitacio_fi)throws RemoteException, EOlympicsException;
    
    public ArrayList<HashMap> consultarMevesProves(String tipusProva, Integer idProva, Date dinscripcio_ini, 
            Date dinscripcio_fi, Date drealitacio_ini, Date drealitacio_fi, Integer idEstudiant)throws RemoteException, EOlympicsException;
    
    public ArrayList<HashMap> consultarMedaller(Universitat universitat)throws RemoteException, EOlympicsException;
    
    public Integer getProvasAlta()throws RemoteException,EOlympicsException;
    
    public Integer getProvaEnCurs()throws RemoteException,EOlympicsException;

    public Integer getProvaTancades()throws RemoteException,EOlympicsException;

    public Integer getNombreInscripcions()throws RemoteException,EOlympicsException;

    public BigDecimal getMitjanaInscrits()throws RemoteException,EOlympicsException;

    public Integer getMedalles()throws RemoteException,EOlympicsException;

    public BigDecimal getMitjanaProves() throws RemoteException,EOlympicsException;
    
    public BigDecimal getPercentatgeParticipacio()throws RemoteException,EOlympicsException;

    public BigDecimal getMitjanaPreguntesPerRonda()throws RemoteException,EOlympicsException;

    public BigDecimal getPercentantgeRespostesEncertades()throws RemoteException,EOlympicsException;
    
    public HashMap consultarDetallProves(Integer idProva, String tipusRonda) throws RemoteException,EOlympicsException;
    
    public ArrayList<HashMap> consultarParticipacio(Integer idProva, 
            String tipusProva, String idUniversitat,Date drealitacio_ini, Date drealitacio_fi) throws RemoteException,EOlympicsException;
}